МIНIСТЕРСТВО ОСВIТИ І НАУКИ, МОЛОДІ ТА СПОРТУ УКРАЇНИ
НАЦІОНАЛЬНИЙ УНІВЕРСИТЕТ “ЛЬВІВСЬКА ПОЛІТЕХНІКА”
Звіт
про виконання лабораторної роботи № 1
з курсу «Бази даних та знань»
на тему «Розроблення проекту бази даних Microsoft SQL Server 2005»
Варіант №16
Мета роботи: ознайомитися зі структурою об’єктів баз даних Microsoft SQL Server 2005 та отримати навики розроблення проекту бази даних за допомогою інструментарію Management Studio.
Таблиця 4.1. Завдання до лабораторної роботи
№
п/п
Завдання
Створити базу даних (БД).
У цій БД створити схему з назвою, що відповідає прізвищу студента. Усі новостворювані об’єкти повинні належати цій схемі.
Побудувати усі необхідні об’єкти (таблиці, первинні ключі, вторинні ключі, зовнішні ключі, індекси, перевірні обмеження) для вказаної БД.
Внести у кожну таблицю БД як мінімум по 10 абстрактних записів (якщо кількість звісно не обмежується логікою).
Створити діаграму для повністю спроектованої БД. Таблиці повинні відображатися на діаграмі у стандартному режимі (ім’я стовпця, тип даних, дозволити знач. null) (рис. 2.17г). Зв’язки між таблицями відкоригувати так, щоб вказували між якими саме стовпцями вони встановлюють зв’язок.
Позначення: P.K. – первинний ключ; U.I. – унікальний індекс;
I. – неунікальний індекс; CHECK – перевірне обмеження.
16
БД електронного ресурсу з книгами (рис. 4.1).
P.K. – Користувачі→Логін; Книги→Назва.
I. – Користувачі→Місце народження; Користувачі→Прізвище + Ім’я + По-батькові; Користувачі→Рейтинг.
CHECK – Посилання→Електронний адрес книги повинен обов’язково містити стрічку 'www.' та '.ua' ; Значення Користувачі→Рейтинг повинне бути у межах [1; 10], при цьому тип даних допускає лише один розряд після коми; для Книги→УДК забезпечити формат: 1 кирилична буква + 2 цифри + '.' + 3 цифри.
Формула – для таблиці Користувачі створити поле, що об’єднує в собі Прізвище, Ім’я та По-батькові; для таблиці Користувачі створити поле, що виводило б кількість років користувачу, як різницю між поточною системною датою та датою народження.
Короткі теоретичні відомості, що необхідні
для виконання лабораторної роботи
Є декілька різних типів ключів:
Первинний – містить первинний вказівник на стрічку в таблиці;
Альтернативний – містить додаткові вказівники на стрічку в таблиці, довільні унікальні умови, що представляють один чи більшу кількість стовпців таблиці.
Зовнішній – містить вказівники на ключі в інших таблицях.
Первинні та альтернативні ключі – гібридні об’єкти: частково індекси, а частково обмеження. Обмеження оголошують, що для об’єкта повинен бути істинним певний фактор, а для ключів це озна-чає, що значення в таблиці повинні бути унікальними.
Індекси дають можливість організувати швидкий доступ до даних без пошуку по всій базі даних. Індекси керуються та зберігають-ся окремо від таблиць. Для побудови індексів SQL Server використо-вує структуру В-дерева (B-tree, Balanced-tree), що складається з коре-ня, проміжних вузлів та кінцевих вузлів (листків). Деревовидна струк-тура дає можливість організувати швидкий та ефективний пошук, в іншому ж випадку, серверу довелось би почергово зчитувати кожну сторінку даних таблиці в пошуку потрібного запису. Проіндексованим може бути як окремий стовпець, так і сукупність вибраних стовпців.
За своєю структурою індекси поділяються:
Кластерний індекс зберігає сторінки даних таблиці на рівні листків В-дерева, при цьому дані фізично впорядковані згідно ключа. Для кожної таблиці можна визначити лише один клас-терний індекс (!!!). При створенні такого індексу відбувається фізичне сортування даних у відповідності до індексу, та перебу-дова всіх некластерних індексів. Як правило, кластерні індекси створюють для первинних ключів, хоча можуть бути створені й для довільного стовпця. Оптимальним варіантом вважають такий, коли індексовані значення для кластерного ключа унікальні. Якщо ж значення не унікальні, тоді SQL Server створює додаткові ключі сортування для стрічок, що мають дублікати для основних ключів сор...